org.eclipse.vtp.framework.engine.osgi
Class HttpConnectorManager

java.lang.Object
  extended by org.osgi.util.tracker.ServiceTracker
      extended by org.eclipse.vtp.framework.util.SingletonTracker
          extended by org.eclipse.vtp.framework.engine.osgi.HttpConnectorManager
All Implemented Interfaces:
SingletonTrackerCustomizer, org.osgi.util.tracker.ServiceTrackerCustomizer

public final class HttpConnectorManager
extends SingletonTracker

Maintains an instance of HttpConnector linked to the currently registered instance of IProcessEngine and the most desireable instance of HttpService.

Author:
Lonnie Pryor

Field Summary
 
Fields inherited from class org.osgi.util.tracker.ServiceTracker
context, filter
 
Constructor Summary
HttpConnectorManager(org.osgi.framework.BundleContext context, org.osgi.service.log.LogService log, org.eclipse.core.runtime.IExtensionRegistry extensionRegistry, IProcessEngine processEngine, IReporter reporter)
          Creates a new HttpConnectorManager.
 
Method Summary
 java.lang.Object changingSelectedService(org.osgi.framework.ServiceReference oldReference, java.lang.Object oldService, org.osgi.framework.ServiceReference newReference)
          Called when another service besides the currently selected singleton is selected as the new singleton.
 void releasedSelectedService(org.osgi.framework.ServiceReference reference, java.lang.Object service)
          Called when the selected service must be released and no replacement is available.
 java.lang.Object selectingService(org.osgi.framework.ServiceReference reference)
          Called when a service is selected as the singleton.
 
Methods inherited from class org.eclipse.vtp.framework.util.SingletonTracker
addingService, getService, getService, getServiceReference, getServiceReferences, getServices, modifiedService, removedService, selectedServiceModified, size, throwableCaught, waitForService
 
Methods inherited from class org.osgi.util.tracker.ServiceTracker
close, getTrackingCount, open, open, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpConnectorManager

public HttpConnectorManager(org.osgi.framework.BundleContext context,
                            org.osgi.service.log.LogService log,
                            org.eclipse.core.runtime.IExtensionRegistry extensionRegistry,
                            IProcessEngine processEngine,
                            IReporter reporter)
Creates a new HttpConnectorManager.

Parameters:
context - The context to operate under.
log - The log to use.
log - The extension registry to use.
log - The process engine to use.
Method Detail

selectingService

public java.lang.Object selectingService(org.osgi.framework.ServiceReference reference)
Description copied from interface: SingletonTrackerCustomizer
Called when a service is selected as the singleton.

Specified by:
selectingService in interface SingletonTrackerCustomizer
Overrides:
selectingService in class SingletonTracker
Parameters:
reference - The selected singleton service reference.
Returns:
The singleton service object or null if the specified reference should not be selected.

changingSelectedService

public java.lang.Object changingSelectedService(org.osgi.framework.ServiceReference oldReference,
                                                java.lang.Object oldService,
                                                org.osgi.framework.ServiceReference newReference)
Description copied from interface: SingletonTrackerCustomizer
Called when another service besides the currently selected singleton is selected as the new singleton. Implementations must release the old singleton if the new singleton is accepted.

Specified by:
changingSelectedService in interface SingletonTrackerCustomizer
Overrides:
changingSelectedService in class SingletonTracker
Parameters:
oldReference - The currently selected singleton service reference.
oldService - The currently selected singleton service object.
newReference - The newly selected singleton service reference.
Returns:
The new singleton service object or null if the new reference should not be selected and the old reference should be maintained.

releasedSelectedService

public void releasedSelectedService(org.osgi.framework.ServiceReference reference,
                                    java.lang.Object service)
Description copied from interface: SingletonTrackerCustomizer
Called when the selected service must be released and no replacement is available.

Specified by:
releasedSelectedService in interface SingletonTrackerCustomizer
Overrides:
releasedSelectedService in class SingletonTracker
Parameters:
reference - The currently selected singleton service reference.
service - The currently selected singleton service object.